1. Field of the Invention
The present invention relates to a memory control device and an image forming apparatus which can correct the skew and/or the bow in an image when image data is transmitted via a memory.
2. Description of Related Art
In an image forming apparatus for outputting a two-dimensional image by repeating the image forming operation in the main scanning direction line by line while the image forming position is moved in the sub-scanning direction, the state in which the sub-scanning direction which is the conveying direction of the recording sheet is perpendicular to the main scanning direction which is the scanning direction of the exposure device or the like is the correct state. However, it is difficult that the sub-scanning direction is strictly perpendicular to the main scanning direction because of the mechanical accuracy, the assembly accuracy and the like. Therefore, the skew in which the image is slightly skewed in the sub-scanning direction and the bow in which the image is slightly bowed in the sub-scanning direction are caused.
FIGS. 15A and 15B show the example in which the skew is corrected by the image processing. FIG. 15A shows the case in which the output image is not corrected. In this example, because the scanning direction of the image forming unit is inclined (skewed) obliquely right upward with respect to the shaft direction of the photoconductive drum, the output image is skewed obliquely right upward. FIG. 15B shows the process for correcting the image by the image processing. When the original image 500 is written in the image memory, the image (each line) is obliquely inclined so as to cancel the skew caused in the image forming unit and is written (See dashed line A in FIG. 15B). When the image data is read out, each line of the image data is read as usual along the main scanning direction. In order to incline the image obliquely on the image memory as described above, the writing position of each pixel is shifted in the sub-scanning direction.
When the DDR-SDRAM (Double-Data-Rate Synchronous Dynamic Random Access Memory) is used as the image memory, the burst transfer is used in order to speed up the processing. FIG. 16 shows the operation timing of the DDR-SDRAM in the burst transfer in case that the burst length is set to “8”. As shown in FIG. 16, by inputting the read command or the write command once, the data having 8 columns can be successively read or written. The burst transfer can be carried out only in the column address direction. The burst transfer is not compatible with the row address or the bank address.
Therefore, in general, the main scanning address indicating the pixel position in the main scanning direction on the original image is assigned to the column address of the memory. The sub-scanning address indicating the pixel position in the sub-scanning direction on the original image is assigned to the row address of the memory. Then, the writing and reading of one line of the image data in the main scanning direction is carried out by the burst transfer in which the column address is successively changed while the row address is fixed.
FIG. 17 shows the address mapping in which the sub-scanning address of the image is assigned to the row address of the SDRAM, the lower 10 bits of the main scanning address are assigned to the column address and the higher 3 bits of the main scanning address are assigned to the bank address. FIG. 18 shows the situation in which one line of the image data in the main scanning direction is written without changing the sub-scanning address (pixel position in the sub-scanning direction) according to the address mapping shown in FIG. 17. Each block (one box) shown in FIG. 18 is equivalent to the rectangular area having one pixel in the sub-scanning direction and 32 pixels in the main scanning direction. The above block indicates the minimum unit of the one-time burst transfer. In this example, one line of the image data in the main scanning direction is written by carrying out the burst transfer n times.
In case that by using the address mapping of FIG. 17, one line of the image data in the main scanning direction is written while the sub-scanning address is fixed, the row address designated for the memory is not changed while one line of the image data in the main scanning direction is written. When the row address is not changed, the overhead, for example, the precharge, is not caused between the finish of the current burst transfer and the starting of the next burst transfer. Therefore, by successively carrying out the burst transfer n times, one line of the image data in the main scanning direction can be read and written for a short time.
FIGS. 19A and 19B show the timing chart which indicates the activating timing of the memory in case that one line of the image data in the main scanning direction is written in the SDRAM without changing the sub-scanning address as shown in FIG. 18. Because the row address is not changed, by outputting the ACT (active) command at once when the writing of one line of the image data is started, the burst transfer can be successively carried out until the writing of the line of the data is finished. The precharge is caused only at once when the writing of the line of the data is finished.
In case that the image is inclined in order to correct the skew and the like, as described above, the writing position of the memory must be shifted in the sub-scanning direction when one line of the original image in the main scanning direction is written. For example, in Japanese Patent Application Publication No. 2009-135887, the following image processing method is disclosed. In the disclosed image processing method, when one line of the original image in the main scanning direction is written, the number of the successive pixels to be written on the same line in the main scanning direction of the memory for writing the original image is calculated. Then, by setting the calculated number of the successive pixels to the burst length, the burst transfer is carried out.
FIG. 20 shows an example in which one line of the image data in the main scanning direction is written while the writing position is shifted in the sub-scanning direction at the end of the block. In case that the above writing is carried out by using the address mapping shown in FIG. 17, the row address designated for the memory is changed every when the writing position is changed in the sub-scanning direction. Because the precharge is necessary to change the row address, the overhead is caused between the current burst transfer and the next burst transfer. Therefore, the processing time which is necessary to write one line of the image data in the main scanning direction becomes long for the overhead. FIGS. 21A and 21B show the activating timing of the memory in the above case. When the writing position is changed in the sub-scanning direction in order to correct the skew and the like, the precharge is required. As a result, the overhead is caused.
In the tandem type of color laser printer, the toner image forming units for C (cyan), M (magenta) Y (yellow) and K (black), respectively, are arranged at the predetermined intervals along the annular intermediate transfer belt. By overlapping the toner images each of which is formed on the surface of the photoconductive drum of each toner image forming unit, on the intermediate transfer belt, a full color image is formed. Therefore, the time difference in the toner image forming timing in each toner image forming unit is caused according to the arrangement intervals between the photoconductive drums of the respective toner image forming units. In order to eliminate the time difference, an image memory (drum-interval delay memory) for temporarily storing the image data is provided on the front stage of each toner image forming unit, and the timing of reading out the image data is adjusted.
In the printer having the drum-interval delay memories, the skew correction and the bow correction can be carried out at the same time when the image data is transmitted via the drum-interval delay memory. However, the time for writing the image data in the drum-interval delay memory and reading the image data from the drum-interval delay memory is limited to a finite period of time in order to ensure the performance of the printer. Therefore, in case that the skew/bow correction is carried out by using the above address mapping in which it is necessary to change the row address designated for the memory every when the reading and writing position is changed in the sub-scanning direction, in order to write and read the image data within the above finite period of time, the number of times the row address is changed is decreased. That is, in order to write and read the image data within the above finite period of time, it is necessary to lengthen the minimum burst length which is the minimum unit of the burst transfer and to decrease the number of times of the burst transfer. However, in case that the minimum burst length is lengthened, the problem in which the skew/bow correction cannot be precisely carried out is caused.